﻿/*
培训任务的添加修改
*/
//
angular.module('addSpecialModel', ['vModal', 'loadModule', 'Common','interlocutionService', 'knowledgeSelector', 'PensonSelector'])
// 设置焦点 标签用
.directive('setFocus', function () {
     return function (scope, element) {
         element[0].focus();
     };
 })
 .directive("addSpecialColumn", ["$rootScope", "$stateParams", "$timeout", "Msg","interlocutionservice", function ($rootScope, $stateParams, $timeout, Msg,IS) {
     return {
         restrice: "AE",
         scope: {
             item: "=",   // 保存对象
             onClose: "&",    //关闭窗口       
             onSave: "&",      //保存对象到服务器                     
         },
         templateUrl: "/system/directive/interlocution/add_specialcolumn.html",
         link: function (scope, element, attr) {
            scope.item.userList=[];

            //人员选择器的定位
            scope.mousePosition = function (ev) {
                if (!ev) {
                    ev = window.event;
                }

                if (ev.type != "click") {
                    return;
                }
                var width = 0;
                var height = 0;
                if (ev.pageX || ev.pageY) {//firefox、chrome等浏览器
                    if (document.documentElement.clientWidth - ev.pageX < 450) {
                        width = ev.pageX - (450 - (document.documentElement.clientWidth - ev.pageX)) - 20;
                    } else {
                        width = ev.pageX;
                    }
                    if (document.documentElement.clientHeight - ev.pageY < 480) {
                        height = ev.pageY - (480 - (document.documentElement.clientHeight - ev.pageY)) - 20;
                    } else {
                        height = ev.pageY;
                    }

                    return { "left": width + "px", "top": height + "px", "position": "fixed" };
                }

                return {// IE浏览器
                    "left": ev.clientX + document.body.scrollLeft - document.body.clientLeft,
                    "top": ev.clientY + document.body.scrollTop - document.body.clientTop
                };
            }            
            // 初始化
            scope.init = function(){                               
                // 人员选择器                
                 scope.personData = {
                     menu:[//进入人员选择器的菜单
                     { "id":"User"}],
                     ApiOpen: false,
                     windowModal:1,
                     style: "",                                      
                     ViceuserOrgList: [],
                     ViceuserRoleList: [],
                     ViceuserGroupList: [],
                     searchType: [],  //初始化教师查询
                     //searchTexts: ,  // 初始化教师查询
                     DB: "0",
                     DBdata: [],
                     UserList: []
                 }
            }
            //回显权限用户
            scope.getUserById=function(){
                if(scope.item.userXid==undefined||scope.item.userXid==null||scope.item.userXid==""){
                    return;
                }
                IS.findByXid({xid:scope.item.userXid}).then(function (response) {
                    if (response.errorcode == "0") {
                        scope.item.userList = response.datas;
                    } else {
                        Msg.error("权限用户获取失败了呦！");
                    }
                }, function errorCallback() {
                    console.log("连接服务器失败！");
                });
            }
            //打开人员悬着器
            scope.openPerson=function(){
                scope.personData.ApiOpen=true;
            }
            //关闭事件
            scope.$watch('personData.ApiOpen', function (newValue, oldValue, scope) {
                 if (!scope.personData.ApiOpen) {
                        scope.item.userList=scope.personData.UserList;
                 }
             },true);

            scope.init();
            scope.getUserById();//回显权限用户
             /******************知识选择器**********************/                                  
            //配置知识选择器
            scope.knowConfig = {   // 配置知识选择器的参数
                menu: ["structure"],
                windowSize:"standard", //  窗口类型 standard:标准(默认)  mini :迷你
                kssMore:false, //知识结构 是否多选
                kssList:[],    // 知识结构选中列表
                isShow:false,  // 显示知识选择器
                callbackParams:{   //回调操作型参数 选择填写参数   配合回调方法使用
                    isClose:true ,            
                }
            };                           
              //关闭事件
            scope.$watch('knowConfig.isShow', function (newValue, oldValue, scope) {
                 if (!scope.knowConfig.isShow&&scope.knowConfig.kssList.length>0) {
                        scope.item.knowId=scope.knowConfig.kssList[0].knowledge_Id;
                        scope.item.knowName=scope.knowConfig.kssList[0].knowledge_Name;
                 }
             },true);     
            // 打开知识选择器
            scope.opknowConfig = function (item) {
                scope.knowConfig.isShow = true;                        
            }               
           /******************知识选择器结束**********************/               
            // 保存
            scope.saveObj = function(){
                if(scope.item.columnName.length<=0){
                    Msg.warning("提示","请输入专栏标题");
                    return;
                }
                if(scope.item.knowName.length<=0){
                    Msg.warning("提示","请选择专栏分类");
                    return;
                }
                scope.onSave();
            }
            scope.isHideFun=function(){
                scope.onClose();
            }
         }
     }
 } ]);
